package com.yangl.study.beans;

import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * bean 的定义
 * 根据 bean 的定义实例化bean
 *
 * @author yanglei
 * @date 2021-12-02 19:03
 */
@Data
@NoArgsConstructor
public class BeanDefinition {

    /** 需要实例化的 bean */
    private Object bean;

    /**创建 bean 的 Class */
    private Class beanClass;

    /** 完整的包名类型 */
    private String beanClassName;

    /** 保存由配置文件中定义的属性 */
    private PropertyValues propertyValues = new PropertyValues();

    public void setBeanClassName(String beanClassName) {
        this.beanClassName = beanClassName;
        // 根据完整的报名与类名创建 Class 方便后面实例化对象
        try {
            this.beanClass = Class.forName(beanClassName);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}
